from math import *
from PublicReference.carry.base import *
# 2021.4.7 韩测


class 职业主动技能(主动技能):

    data0 = []
    data1 = []
    data2 = []
    data3 = []

    def 等效百分比(self, 武器类型):
        等效倍率 = 0.0
        if len(self.data0) >= self.等级 and len(self.data0) > 0:
            等效倍率 += self.data0[self.等级] * self.攻击次数
        if len(self.data1) >= self.等级 and len(self.data1) > 0:
            等效倍率 += self.data1[self.等级] * self.攻击次数2
        if len(self.data2) >= self.等级 and len(self.data2) > 0:
            等效倍率 += self.data2[self.等级] * self.攻击次数3
        if len(self.data3) >= self.等级 and len(self.data3) > 0:
            等效倍率 += self.data3[self.等级] * self.攻击次数4
        return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率

# 源力剑精通


class 技能0(被动技能):
    名称 = '源力剑精通'
    所在等级 = 20
    等级上限 = 30
    基础等级 = 20
    谍影专用倍率 = 1

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        if self.等级 <= 20:
            return round(1 + (0.05 + 0.01 * self.等级) * self.谍影专用倍率, 5)
        else:
            return round(1 + (0.25 + 0.02 * (self.等级 - 20)) * self.谍影专用倍率, 5)

    def 魔法攻击力倍率(self, 武器类型):
        return self.加成倍率(武器类型)


# 细胞弱化
class 技能1(被动技能):
    名称 = '细胞弱化'
    所在等级 = 25
    等级上限 = 11
    基础等级 = 1

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.23 + 0.02 * self.等级, 5)


# 源能增幅一觉被动
class 技能2(被动技能):
    名称 = '源能增幅'
    所在等级 = 48
    等级上限 = 40
    基础等级 = 20

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.025 + 0.02 * self.等级, 5)


# 二觉被动
class 技能3(被动技能):
    名称 = '源力汇聚'
    所在等级 = 75
    等级上限 = 40
    基础等级 = 11

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.22 + 0.02 * self.等级, 5)


# 三觉被动
class 技能4(被动技能):
    名称 = '奇点源核'
    所在等级 = 95
    等级上限 = 40
    基础等级 = 4

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


# 源光斩
class 技能5(职业主动技能):
    名称 = '源光斩'
    所在等级 = 10
    等级上限 = 60
    基础等级 = 48
    攻击段数 = 2
    # 斩击攻击力：<data0>%
    data0 = [int(i*1.0*1.085) for i in [0, 1034, 1138, 1243, 1348, 1454, 1559, 1663, 1768, 1873, 1979, 2082, 2188, 2294, 2398, 2504, 2607, 2713, 2818, 2923, 3029, 3132, 3238, 3343, 3448, 3553, 3658, 3763, 3868, 3973, 4077, 4183, 4287, 4393, 4498, 4602, 4708, 4812, 4918, 5023, 5127, 5233, 5337, 5443, 5548, 5652, 5757, 5862, 5968, 6072, 6177, 6282, 6388, 6491, 6597, 6701, 6807, 6913, 7016, 7122, 7226, 7332, 7438, 7541, 7647, 7752, 7857, 7962, 8066, 8171, 8277]]
    # 能量多段攻击力：<data1>%
    data1 = [int(i*1.0*1.085) for i in [0, 175, 193, 211, 229, 246, 266, 284, 302, 319, 337, 355, 373, 392, 409, 427, 445, 463, 480, 498, 516, 534, 553, 570, 588, 606, 624, 641, 659, 677, 697, 715, 732, 750, 768, 786, 803, 821, 840, 858, 876, 893, 911, 929, 947, 964, 983, 1001, 1019, 1037, 1054, 1072, 1090, 1108, 1125, 1145, 1163, 1181, 1199, 1216, 1234, 1252, 1271, 1288, 1306, 1324, 1342, 1359, 1377, 1395, 1414]]
    攻击次数2 = 4
    CD = 5
    TP成长 = 0.08
    TP上限 = 5


# 旋转源能波
class 技能6(职业主动技能):
    名称 = '旋转源能波'
    所在等级 = 15
    等级上限 = 60
    基础等级 = 46
    攻击段数 = 2
    # 波动攻击力：<data0>%
    data0 = [int(i*1.0*1.085) for i in [0, 383, 424, 462, 501, 541, 579, 618, 658, 698, 735, 775, 814, 855, 892, 932, 971, 1008, 1048, 1088, 1128, 1166, 1205, 1244, 1285, 1323, 1362, 1401, 1439, 1479, 1519, 1558, 1596, 1636, 1674, 1713, 1753, 1793, 1832, 1870, 1909, 1950, 1989, 2027, 2066, 2106, 2143, 2183, 2223, 2263, 2301, 2339, 2380, 2418, 2458, 2496, 2536, 2574, 2615, 2653, 2693]]
    # 源能波攻击力：<data1>%
    data1 = [int(i*1.0*1.085) for i in [0, 545, 600, 657, 712, 767, 824, 879, 934, 990, 1045, 1100, 1157, 1213, 1268, 1324, 1380, 1434, 1490, 1545, 1600, 1656, 1711, 1767, 1824, 1879, 1934, 1991, 2046, 2101, 2157, 2212, 2266, 2322, 2378, 2434, 2490, 2545, 2600, 2657, 2712, 2767, 2823, 2878, 2933, 2991, 3046, 3101, 3156, 3211, 3266, 3323, 3378, 3433, 3489, 3544, 3599, 3657, 3712, 3767, 3824]]
    攻击次数2 = 4
    CD = 5
    TP成长 = 0.10
    TP上限 = 5

# 源能护盾，未提炼


class 技能7(职业主动技能):
    名称 = '源能护盾'
    所在等级 = 15
    等级上限 = 60
    基础等级 = 46
    data0 = [int(i*1.0*1.085) for i in [0, 3604, 3968, 4700, 5064, 5431, 5797, 6161, 6527, 6894, 7260, 7624, 7990, 8356, 8721, 9087, 9453, 9817, 10184, 10550, 10914, 11280, 11646, 12013, 12377, 12743, 13109, 13473, 13840, 14206, 14570, 14936, 15303, 15669, 16033, 16399, 16765, 17130, 17496, 17862, 18226, 18593, 18959, 19323, 19689, 20055, 20422, 20786, 21152, 21518, 21883, 22249, 22615, 22979, 23345, 23712, 24076, 24442, 24808, 25175, 25539, 25905, 26271, 26635, 27002, 27368, 27732, 28098, 28465, 28829]]
    CD = 8
    TP成长 = 0.08
    TP上限 = 5


# 镭射源能枪
class 技能8(职业主动技能):
    名称 = '镭射源能枪'
    所在等级 = 20
    等级上限 = 60
    基础等级 = 43
    攻击段数 = 2
    data0 = [int(i*1.0*1.085) for i in [0, 739, 814, 889, 965, 1039, 1115, 1190, 1265, 1340, 1415, 1489, 1565, 1640, 1716, 1791, 1866, 1942, 2015, 2091, 2166, 2241, 2316, 2392, 2466, 2542, 2617, 2692, 2766, 2842, 2917, 2992, 3067, 3143, 3218, 3292, 3368, 3442, 3518, 3593, 3669, 3743, 3819, 3894, 3968, 4043, 4119, 4193, 4269, 4344, 4419, 4494, 4569, 4645, 4719, 4795, 4870, 4945, 5020, 5096, 5169]]
    攻击次数 = 2
    data1 = [int(i*1.0*1.085) for i in [0, 2144, 2362, 2580, 2797, 3015, 3233, 3449, 3668, 3885, 4103, 4320, 4539, 4755, 4974, 5191, 5407, 5626, 5844, 6061, 6279, 6497, 6713, 6932, 7150, 7367, 7585, 7802, 8020, 8237, 8456, 8672, 8891, 9108, 9327, 9543, 9761, 9979, 10196, 10414, 10632, 10849, 11067, 11285, 11502, 11720, 11938, 12154, 12373, 12590, 12808, 13025, 13244, 13460, 13679, 13896, 14113, 14331, 14549, 14766, 14984]]
    攻击次数2 = 1
    CD = 10
    TP成长 = 0.10
    TP上限 = 5


# 源能波刃
class 技能9(职业主动技能):
    名称 = '源能波刃'
    所在等级 = 25
    等级上限 = 60
    基础等级 = 41

    # 斩击攻击力：<data0>%
    data0 = [int(i*1.0*1.085) for i in [0, 2219, 2444, 2670, 2896, 3122, 3346, 3571, 3797, 4022, 4248, 4472, 4698, 4925, 5150, 5376, 5600, 5825, 6051, 6276, 6500, 6726, 6951, 7178, 7403, 7628, 7853, 8078, 8305, 8530, 8755, 8980, 9205, 9432, 9657, 9882, 10107, 10332, 10558, 10782, 11008, 11233, 11458, 11685, 11910, 12136, 12361, 12587, 12812, 13036, 13262, 13487, 13712, 13938, 14163, 14389, 14614, 14840, 15064, 15289, 15516]]
    # 吸附攻击力：<data1>%
    data1 = [int(i*1.0*1.085) for i in [0, 1816, 1999, 2183, 2369, 2553, 2738, 2921, 3106, 3291, 3475, 3659, 3845, 4028, 4213, 4397, 4582, 4766, 4949, 5135, 5318, 5504, 5688, 5872, 6056, 6240, 6426, 6611, 6794, 6979, 7162, 7346, 7532, 7716, 7901, 8084, 8269, 8452, 8638, 8822, 9008, 9191, 9376, 9559, 9744, 9928, 10112, 10298, 10481, 10667, 10850, 11035, 11219, 11403, 11588, 11774, 11957, 12141, 12325, 12509, 12693]]
    攻击次数2 = 1
    CD = 8
    TP成长 = 0.10
    TP上限 = 5

# 能量飞鱼弹


class 技能10(职业主动技能):
    名称 = '能量飞鱼弹'
    所在等级 = 25
    等级上限 = 60
    基础等级 = 41
    data0 = [int(i*1.0*1.085) for i in [0, 4395, 4841, 5288, 5734, 6180, 6626, 7074, 7517, 7965, 8411, 8857, 9302, 9750, 10195, 10641, 11087, 11534, 11980, 12426, 12871, 13319, 13764, 14210, 14656, 15104, 15548, 15995, 16441, 16888, 17333, 17780, 18226, 18671, 19118, 19565, 20010, 20457, 20903, 21349, 21794, 22242, 22687, 23134, 23579, 24025, 24472, 24918, 25363, 25810, 26257, 26703, 27148, 27596, 28041, 28487, 28933, 29381, 29824, 30272, 30718]]
    CD = 7.5
    TP成长 = 0.10
    TP上限 = 5

# 脉冲斩


class 技能11(职业主动技能):
    名称 = '脉冲斩'
    所在等级 = 30
    等级上限 = 60
    基础等级 = 38
    data0 = [int(i*1.0*1.085) for i in [0, 1375, 1514, 1653, 1793, 1933, 2072, 2211, 2352, 2490, 2631, 2769, 2909, 3049, 3187, 3329, 3467, 3608, 3747, 3886, 4026, 4165, 4305, 4444, 4583, 4723, 4863, 5002, 5142, 5283, 5423, 5561, 5702, 5840, 5980, 6120, 6258, 6399, 6537, 6678, 6817, 6955, 7096, 7234, 7376, 7515, 7656, 7794, 7934, 8073, 8213, 8353, 8491, 8631, 8771, 8910, 9050, 9189, 9329, 9470, 9608]]
    攻击次数 = 4
    CD = 10
    TP成长 = 0.10
    TP上限 = 5



# 电磁领域
class 技能12(职业主动技能):
    名称 = '电磁领域'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 36
    攻击段数 = 3
    data0 = [int(i*1.0*1.085) for i in [0, 1139, 1255, 1372, 1488, 1603, 1718, 1834, 1950, 2065, 2181, 2297, 2413, 2529, 2644, 2760, 2876, 2991, 3107, 3223, 3339, 3453, 3569, 3686, 3802, 3918, 4033, 4149, 4265, 4381, 4495, 4611, 4727, 4844, 4959, 5075, 5191, 5307, 5421, 5537, 5653, 5769, 5886, 6001, 6117, 6232, 6348, 6463, 6579, 6695, 6811, 6925, 7043, 7158, 7274, 7389, 7505, 7621, 7737, 7851, 7967]]
    攻击次数 = 5
    data1 = [int(i*1.0*1.085) for i in [0, 2443, 2691, 2940, 3187, 3435, 3684, 3932, 4179, 4428, 4676, 4925, 5171, 5419, 5668, 5915, 6163, 6412, 6659, 6907, 7156, 7404, 7651, 7900, 8148, 8396, 8643, 8891, 9140, 9387, 9635, 9884, 10132, 10379, 10628, 10876, 11123, 11372, 11619, 11868, 12115, 12363, 12612, 12860, 13107, 13356, 13604, 13851, 14100, 14348, 14596, 14843, 15091, 15340, 15587, 15835, 16084, 16332, 16579, 16828, 17076]]
    攻击次数2 = 1
    CD = 20
    TP成长 = 0.10
    TP上限 = 5


# 引力源光弹
class 技能13(职业主动技能):
    名称 = '引力源光弹'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 36

    # 多段攻击力：<data0>%
    data0 = [int(i*1.0*1.085) for i in [0,766, 842, 922, 999, 1077, 1155, 1233, 1310, 1388, 1466, 1543, 1622, 1699, 1777, 1855, 1932, 2011, 2090, 2166, 2245, 2321, 2400, 2478, 2555, 2633, 2711, 2789, 2867, 2946, 3023, 3102, 3178, 3257, 3334, 3412, 3489, 3568, 3644, 3723, 3799, 3878, 3958, 4034, 4113, 4191, 4268, 4346, 4425, 4501, 4580, 4656, 4735, 4812, 4890, 4967, 5047, 5125, 5202, 5280, 5358]]
    攻击次数 = 8
    # 爆炸攻击力：<data1>%
    data1 = [int(i*1.0*1.085) for i in [0, 2163, 2384, 2602, 2821, 3040, 3260, 3480, 3700, 3919, 4139, 4359, 4578, 4798, 5017, 5236, 5457, 5677, 5897, 6115, 6335, 6555, 6776, 6993, 7213, 7433, 7652, 7872, 8091, 8310, 8531, 8751, 8971, 9189, 9409, 9629, 9850, 10069, 10288, 10508, 10727, 10947, 11167, 11384, 11605, 11825, 12044, 12263, 12483, 12702, 12922, 13143, 13362, 13581, 13801, 14021, 14241, 14459, 14680, 14900, 15119]]
    攻击次数2 = 1

    CD = 15
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1
    技能施放时间 = 1

    是否装备护石 = 0
    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            # self.攻击次数2 = 1.28
            self.data1 = [int(i*1.28) for i in self.data1]
            self.是否装备护石 = 1
        elif x == 1:
            self.data1 = [int(i*1.60) for i in self.data1]
            # self.攻击次数2 = 1.60 #修改位置
            self.是否装备护石 = 1


# 光裂斩，护石取最大蓄气
class 技能14(职业主动技能):
    名称 = '光裂斩'
    所在等级 = 40
    等级上限 = 60
    基础等级 = 33
    CD = 25
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    # 斩击攻击力：<data0>%
    data0 = [int(i*1.0*1.085) for i in [0, 7562, 8329, 9096, 9865, 10632, 11400, 12166, 12933, 13701, 14467, 15236, 16004, 16769, 17537, 18305, 19073, 19840, 20607, 21374, 22141, 22909, 23677, 24445, 25211, 25978, 26746, 27513, 28281, 29049, 29814, 30582, 31350, 32117, 32885, 33653, 34419, 35186, 35954, 36721, 37490, 38256, 39023, 39791, 40558, 41325, 42094, 42862, 43627, 44395, 45162, 45928, 46698, 47464, 48231, 48999, 49766, 50535, 51301, 52068, 52836]]
    # 能量多段攻击力：<data1>%
    data1 = [int(i*1.0*1.085) for i in [0, 1006, 1108, 1211, 1313, 1416, 1517, 1622, 1725, 1824, 1926, 2030, 2132, 2235, 2337, 2440, 2542, 2645, 2745, 2848, 2950, 3053, 3155, 3258, 3360, 3463, 3565, 3667, 3768, 3871, 3973, 4076, 4178, 4281, 4383, 4486, 4587, 4690, 4792, 4895, 4996, 5099, 5201, 5305, 5407, 5507, 5610, 5714, 5816, 5919, 6021, 6124, 6226, 6326, 6429, 6531, 6634, 6736, 6839, 6941, 7044]]
    攻击次数2 = 5


    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.data0 = [int(i*1.98*1.06) for i in self.data0]
            # self.攻击次数 = 1.98 * 1.06
            self.攻击次数2 = 0
        elif x == 1:
            self.data0 = [int(i*1.98*1.14) for i in self.data0]
            # self.攻击次数 = 1.98 * 1.14#修改位置
            self.攻击次数2 = 0

# 光导裂地斩


class 技能15(职业主动技能):
    名称 = '光导裂地斩'
    所在等级 = 45
    等级上限 = 60
    基础等级 = 31
    # 攻击段数 = 6
    # 基础 = 6247 - 633.5
    # 成长 = 633.5
    # 攻击次数 = 1

    # 基础2 = 9512 - 965
    # 成长2 = 965
    # 攻击次数2 = 1
    CD = 45
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    # 下劈攻击力：<data0>%
    data0 = [int(i*1.0*1.085) for i in [0, 8626, 9501, 10377, 11251, 12127, 13002, 13879, 14753, 15629, 16505, 17379, 18254, 19130, 20005, 20879, 21757, 22630, 23506, 24382, 25257, 26131, 27009, 27882, 28758, 29634, 30509, 31383, 32259, 33135, 34009, 34886, 35761, 36635, 37510, 38387, 39261, 40136, 41013, 41886, 42762, 43638, 44514, 45388, 46265, 47140, 48014, 48890, 49766, 50640, 51516, 52392, 53265, 54142, 55017, 55892, 56768, 57644, 58518, 59394, 60269]]
    # 上挑攻击力：<data1>%
    data1 = [int(i*1.0*1.085) for i in [0, 13135, 14468, 15801, 17133, 18465, 19799, 21132, 22465, 23798, 25130, 26463, 27796, 29129, 30459, 31794, 33127, 34460, 35792, 37125, 38458, 39791, 41124, 42455, 43787, 45122, 46455, 47786, 49119, 50452, 51785, 53117, 54450, 55783, 57117, 58448, 59781, 61114, 62447, 63780, 65112, 66445, 67778, 69112, 70444, 71776, 73109, 74442, 75774, 77107, 78440, 79773, 81107, 82439, 83772, 85105, 86437, 87768, 89101, 90434, 91767]]
    攻击次数2 = 1

    ###
    # 倍率 = 1.121

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.攻击次数 *= 1.17
            self.攻击次数2 *= 1.2
        elif x == 1:
            self.攻击次数 *= 1.17
            self.攻击次数2 *= 1.33  # 修改位置


# 一觉，非提炼
class 技能16(职业主动技能):
    名称 = '超能场域'
    所在等级 = 50
    等级上限 = 40
    基础等级 = 12
    # 能量多段攻击力：<data0>%
    data0 = [int(i*1.0*1.085) for i in [0, 765, 942, 1120, 1296, 1474, 1653, 1830, 2009, 2183, 2362, 2540, 2718, 2896, 3075, 3250, 3428, 3605, 3784, 3962, 4140, 4316, 4493, 4672, 4850, 5028, 5206, 5381, 5559, 5738, 5915, 6094, 6272, 6448, 6626, 6803, 6981, 7160, 7337, 7515, 7691]]
    # 秒C的段数
    攻击次数 = 14
    # 能量爆炸攻击力：<data1>%
    data1 = [int(i*1.0*1.085) for i in [0, 38996, 48039, 57081, 66124, 75168, 84211, 93255, 102298, 122473, 132423, 142370, 152317, 162264, 172212, 182159, 192106, 202053, 212002, 221949, 231896, 241842, 251789, 261736, 271684, 281631, 291578, 301525, 311475, 321422, 331369, 341316, 351263, 361211, 371158, 381105, 391053, 401001, 410948, 420895, 430842]]
    攻击次数2 = 1
    CD = 145

# 能量禁锢


class 技能17(职业主动技能):
    名称 = '能量禁锢'
    所在等级 = 60
    等级上限 = 40
    基础等级 = 23

    CD = 25
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    #多段攻击力：<data0>%
    data0 = [int(i*1.0*1.085) for i in [0, 1072, 1181, 1293, 1401, 1509, 1619, 1727, 1836, 1945, 2055, 2164, 2273, 2381, 2491, 2599, 2707, 2817, 2926, 3036, 3144, 3253, 3362, 3471, 3579, 3689, 3798, 3908, 4016, 4124, 4234, 4344, 4454, 4563, 4671, 4781, 4889, 4997, 5107, 5215, 5326, 5434, 5543, 5652, 5761, 5870, 5979, 6087, 6198, 6306, 6414, 6524, 6632, 6742, 6850, 6959, 7069, 7178, 7286, 7397, 7505]]
    攻击次数 = 10
    data1 = [int(i*1.0*1.085) for i in [0, 4605, 5071, 5538, 6006, 6472, 6941, 7408, 7874, 8342, 8809, 9276, 9743, 10211, 10678, 11145, 11612, 12079, 12548, 13014, 13482, 13948, 14415, 14883, 15349, 15818, 16285, 16751, 17219, 17686, 18153, 18621, 19088, 19555, 20023, 20489, 20956, 21425, 21891, 22359, 22826, 23292, 23760, 24226, 24695, 25162, 25629, 26096, 26563, 27031, 27499, 27967, 28433, 28902, 29369, 29836, 30303, 30769, 31237, 31704, 32172]]
    攻击次数2 = 1
    ###

    # 爆炸次数 = 0
    是否装备护石 = 0
    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.攻击次数 = 14 * 0.8  # 14是测试结论
            self.是否装备护石 = 1
            # self.攻击次数2 += self.爆炸次数* 0.33
        elif x == 1:
            self.攻击次数 = 14 * 0.89  # 修改位置
            self.是否装备护石 = 1
            # self.攻击次数2 += self.爆炸次数 *0.33


# 离散能量波

class 技能18(职业主动技能):
    名称 = '离散能量波'
    所在等级 = 70
    等级上限 = 40
    基础等级 = 18

    data0 = [0,2255, 2484, 2713, 2941, 3170, 3400, 3630, 3858, 4086, 4315, 4543, 4774, 5002, 5230, 5460, 5688, 5919, 6147, 6376, 6604, 6832, 7061, 7291, 7520, 7749, 7978, 8206, 8437, 8665, 8893, 9122, 9350, 9581, 9809, 10039, 10267, 10495, 10726, 10954, 11183, 11411, 11639, 11869, 12098, 12328, 12556, 12785, 13014, 13244, 13473, 13700, 13929, 14158, 14387, 14617, 14846, 15074, 15304, 15532, 15763]
    攻击次数 = 10

    data1 = [0,9669, 10650, 11631, 12612, 13593, 14575, 15555, 16537, 17517, 18499, 19479, 20460, 21443, 22423, 23404, 24384, 25367, 26347, 27328, 28308, 29290, 30272, 31252, 32234, 33214, 34196, 35177, 36158, 37139, 38119, 39102, 40082, 41063, 42043, 43026, 44007, 44987, 45968, 46951, 47931, 48912, 49893, 50874, 51855, 52836, 53818, 54798, 55780, 56760, 57742, 58722, 59703, 60687, 61667, 62648, 63628, 64611, 65592, 66572, 67554]
    攻击次数2 = 1

    CD = 50
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.CD *= 0.9
            self.攻击次数 = 15 * 0.75
            self.攻击次数2 *= 1.4
        elif x == 1:
            self.CD *= 0.9
            self.攻击次数 = 15 * 0.75
            self.攻击次数2 *= 1.66  # 修改位置

# 绝望圆舞


class 技能19(职业主动技能):
    名称 = '绝望圆舞'
    所在等级 = 75
    等级上限 = 40
    基础等级 = 16
    # 攻击段数 = 8
    # 基础 = 38894.00 - 3946.60
    # 成长 = 3946.60
    CD = 40
    ###
    # 倍率 = 1.121

    # 乱舞攻击力：<data0>% X 8次
    data0 = [int(i*1.0*1.085) for i in [0, 4572, 5036, 5502, 5966, 6429, 6893, 7358, 7823, 8287, 8751, 9215, 9679, 10143, 10608, 11071, 11535, 11999, 12464, 12927, 13391, 13855, 14320, 14784, 15247, 15712, 16178, 16642, 17104, 17568, 18034, 18498, 18962, 19424, 19890, 20354, 20818, 21281, 21746, 22210, 22674, 23139, 23604, 24067, 24531, 24996, 25460, 25923, 26387, 26852, 27316, 27779, 28243, 28708, 29172, 29636, 30099, 30564, 31028, 31492, 31958]]
    攻击次数 = 8
    # 最后一击攻击力：<data1>%
    data1 = [int(i*1.0*1.085) for i in [0, 15685, 17275, 18867, 20457, 22050, 23640, 25232, 26822, 28416, 30006, 31597, 33188, 34780, 36371, 37962, 39553, 41146, 42737, 44328, 45919, 47511, 49101, 50693, 52283, 53877, 55466, 57058, 58649, 60241, 61832, 63423, 65015, 66605, 68197, 69787, 71381, 72971, 74563, 76153, 77746, 79336, 80928, 82518, 84111, 85702, 87293, 88884, 90476, 92067, 93658, 95249, 96842, 98433, 100024, 101615, 103207, 104797, 106388, 107979, 109571]]
    攻击次数2 = 1

    是否有护石 = 1
    护石选项 = ['圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.35

# CEAB-2超能爆发，满蓄


class 技能20(职业主动技能):
    名称 = 'CEAB-2超能爆发'
    所在等级 = 80
    等级上限 = 40
    基础等级 = 13
    # 攻击段数 = 1
    # 基础 = 44464.00 - 4510.92
    # 成长 = 4510.92
    # 爆炸攻击力：
    # data0 = [0, 40341, 44434, 48526, 52619, 56710, 60803, 64895, 68988, 73081, 77173, 81266, 85359, 89451, 93544, 97636, 101729, 105822, 109914, 114007, 118099, 122192, 126285, 130377, 134470, 138562, 142655, 146748, 150840, 154933, 159025, 163118, 167211, 171303, 175396, 179488, 183581, 187673, 191765, 195858, 199950, 204043, 208136, 212228, 216321, 220413, 224506, 228599, 232691, 236784, 240876, 244969, 249062, 253154, 257247, 261340, 265432, 269525, 273617, 277710, 281803]
    # 最大蓄气时的爆炸攻击力：
    data0 = [int(i*1.0*1.085) for i in [0, 57209, 63013, 68816, 74622, 80425, 86229, 92033, 97838, 103641, 109445, 115249, 121053, 126857, 132660, 138464, 144269, 150073, 155877, 161679, 167483, 173289, 179093, 184898, 190701, 196505, 202309, 208112, 213917, 219720, 225524, 231329, 237133, 242937, 248739, 254543, 260348, 266152, 271956, 277762, 283565, 289369, 295172, 300977, 306781, 312584, 318388, 324193, 329997, 335800, 341603, 347408, 353212, 359016, 364820, 370624, 376429, 382232, 388036, 393841, 399645]]

    CD = 45
    ###
    # 倍率 = 1.074
    是否有护石 = 1
    护石选项 = ['圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.39
            self.CD *= 0.9

# 二觉，1.5秒后c


class 技能21(职业主动技能):
    名称 = '终焉：超世界崩坏'
    所在等级 = 85
    等级上限 = 40
    基础等级 = 5
    # 攻击段数 = 17

    # 基础 = 1800 - 216.33333 * 5
    # 成长 = 216.33333
    # 攻击次数 = 6

    # 基础2 = 168632 - 20286.5 *5
    # 成长2 = 20286.5
    # 攻击次数2 = 1
    # 多段攻击力：<data0>%
    # 秒C6段，打满14次
    data0 = [int(i*1.0*1.085) for i in [0, 1260, 1549, 1842, 2136, 2429, 2719, 3012, 3304, 3597, 3889, 4180, 4473, 4765, 5057, 5350, 5644, 5933, 6227, 6520, 6812, 7103, 7396, 7688, 7980, 8273, 8564, 8857, 9148, 9441, 9735, 10024, 10317, 10611, 10903, 11195, 11487, 11779, 12072, 12364, 12656, 12948, 13240, 13532, 13825, 14119, 14408, 14701, 14995, 15287, 15579, 15870, 16163, 16455, 16747, 17040, 17332, 17623, 17916, 18209, 18501]]
    攻击次数 = 6
    # 爆炸攻击力：<data1>%
    data1 = [int(i*1.0*1.085) for i in [0, 118077, 145459, 172840, 200220, 227602, 254982, 282363, 309745, 337125, 364504, 391886, 419267, 446647, 474029, 501409, 528790, 556172, 583552, 610933, 638314, 665695, 693075, 720456, 747836, 775217, 802599, 829979, 857360, 884741, 912122, 939502, 966884, 994265, 1021645, 1049024, 1076406, 1103787, 1131167, 1158549, 1185929, 1213310, 1240692, 1268072, 1295453, 1322834, 1350215, 1377595, 1404976, 1432356, 1459737, 1487119, 1514499, 1541880, 1569261, 1596642, 1624022, 1651404, 1678785, 1706165, 1733547]]
    攻击次数2 = 1
    CD = 180
    ###
    # 倍率 = 1.1

# 95


class 技能22(职业主动技能):
    名称 = '临界源能弹'
    所在等级 = 95
    等级上限 = 40
    基础等级 = 6
    data0 = [int(i*1.085) for i in [0, 19967, 21992, 24018, 26043, 28069, 30094, 32120, 34146, 36172, 38198, 40224, 42249, 44274, 46300, 48326, 50351, 52377, 54403, 56429, 58455, 60479, 62505, 64531, 66557, 68583, 70608, 72634, 74660, 76686, 78710, 80736, 82762, 84788, 86814, 88840, 90865, 92891, 94917, 96942, 98967, 100993, 103019, 105045, 107071, 109097, 111122, 113147, 115173, 117199, 119224, 121250, 123276, 125302, 127328, 129354, 131378, 133404, 135430, 137456, 139481]]
    攻击次数 = 5
    data1 = [int(i*1.085) for i in [0, 110930, 122182, 133436, 144690, 155944, 167198, 178451, 189705, 200959, 212213, 223467, 234720, 245974, 257228, 268482, 279736, 290989, 302243, 313497, 324751, 336005, 347258, 358512, 369766, 381020, 392274, 403527, 414781, 426035, 437289, 448543, 459795, 471050, 482304, 493558, 504812, 516064, 527318, 538572, 549826, 561080, 572333, 583587, 594841, 606095, 617349, 628602, 639856, 651110, 662364, 673618, 684871, 696125, 707379, 718633, 729887, 741140, 752394, 763648, 774902]]
    攻击次数2 = 0  # 1
    CD = 60

# 三觉


class 技能23(职业主动技能):
    名称 = '源能场域：黑暗边缘'
    所在等级 = 100
    等级上限 = 40
    基础等级 = 2
    data0 = [int(i*1.085) for i in [0, 369810, 455564, 541317, 627071, 712824, 798578, 884331, 970084, 1055838, 1141590, 1227345, 1313097, 1398851, 1484604, 1570358, 1656111, 1741864, 1827618, 1913372, 1999125, 2084878, 2170632, 2256385, 2342139, 2427891, 2513645, 2599398, 2685152, 2770905, 2856658, 2942412, 3028165, 3113919, 3199672, 3285426, 3371179, 3456933, 3542686, 3628440, 3714192, 3799946, 3885699, 3971452, 4057206, 4142959, 4228713, 4314466, 4400219, 4485973, 4571726, 4657480, 4743234, 4828987, 4914739, 5000493, 5086247, 5172000, 5257753, 5343507, 5429260]]
    攻击次数 = 1
    CD = 290
    关联技能 = ['无']

    def 加成倍率(self, 武器类型):
        return 0.0


技能列表 = []
i = 0
while i >= 0:
    try:
        tem = eval('技能'+str(i)+'()')
        tem.基础等级计算()
        技能列表.append(tem)
        i += 1
    except:
        i = -1

技能序号 = dict()
for i in range(len(技能列表)):
    技能序号[技能列表[i].名称] = i

苍暮·源能专家一觉序号 = 0
苍暮·源能专家二觉序号 = 0
苍暮·源能专家三觉序号 = 0
for i in 技能列表:
    if i.所在等级 == 50:
        苍暮·源能专家一觉序号 = 技能序号[i.名称]
    if i.所在等级 == 85:
        苍暮·源能专家二觉序号 = 技能序号[i.名称]
    if i.所在等级 == 100:
        苍暮·源能专家三觉序号 = 技能序号[i.名称]

苍暮·源能专家护石选项 = ['无']
for i in 技能列表:
    if i.是否有伤害 == 1 and i.是否有护石 == 1:
        苍暮·源能专家护石选项.append(i.名称)

苍暮·源能专家符文选项 = ['无']
for i in 技能列表:
    if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1:
        苍暮·源能专家符文选项.append(i.名称)


class 苍暮·源能专家角色属性(角色属性):
    实际名称 = '苍暮·源能专家'
    角色 = '枪剑士'
    职业 = '源能专家'

    武器选项 = ['源力剑']

    类型选择 = ['魔法百分比']

    类型 = '魔法百分比'
    防具类型 = '布甲'
    防具精通属性 = ['智力']

    主BUFF = 2.0

    远古记忆 = 0

    引力源光弹充能次数 = 0
    能量禁锢爆炸次数 = 0
    二觉多段次数 = 6

    def __init__(self):
        基础属性输入(self)
        self.技能栏 = deepcopy(技能列表)
        self.技能序号 = deepcopy(技能序号)

    def 被动倍率计算(self):
        if self.装备检查('谍影：超级核心'):
            self.技能栏[self.技能序号['源力剑精通']].谍影专用倍率 = 2
        self.技能栏[self.技能序号['终焉：超世界崩坏']].攻击次数 = self.二觉多段次数
        super().被动倍率计算()

    def 数据计算(self, x=0, y=-1):
        self.预处理()
        # 初步计算
        技能释放次数 = self.技能释放次数计算()
        技能单次伤害 = self.技能单次伤害计算(y)

        # 能量禁锢护石
        if self.技能栏[self.技能序号['能量禁锢']].是否装备护石 == 1:
            技能单次伤害[self.技能序号['能量禁锢']] += (0.33*self.能量禁锢爆炸次数)*(self.技能栏[self.技能序号['能量禁锢']].基础2 + self.技能栏[self.技能序号['能量禁锢']].成长2 * self.技能栏[self.技能序号['能量禁锢']].等级)*(
                1 + self.技能栏[self.技能序号['能量禁锢']].TP成长 * self.技能栏[self.技能序号['能量禁锢']].TP等级) * self.技能栏[self.技能序号['能量禁锢']].倍率 * self.伤害指数*i.被动倍率

        技能总伤害 = self.技能总伤害计算(技能释放次数, 技能单次伤害)

        # self.宠物次数[self.技能序号['引力源光弹']] = eval(self.宠物次数[self.技能序号['引力源光弹']].replace('num', str(技能释放次数[self.技能序号['引力源光弹']])))

        # 引力源光弹护石
        if self.技能栏[self.技能序号['引力源光弹']].是否装备护石 == 1:
            if self.宠物次数[self.技能序号['引力源光弹']] < self.引力源光弹充能次数:
                技能总伤害[self.技能序号['CEAB-2超能爆发']] += (技能单次伤害[self.技能序号['引力源光弹']] * 0.3 * self.引力源光弹充能次数 * (
                    1+self.白兔子技能*0.20 + self.年宠技能*0.10*self.宠物次数[self.技能序号['引力源光弹']]/self.引力源光弹充能次数+self.斗神之吼秘药*0.12))
            else:
                技能总伤害[self.技能序号['CEAB-2超能爆发']] += (技能单次伤害[self.技能序号['引力源光弹']] * 0.3 * self.引力源光弹充能次数 * (
                    1+self.白兔子技能*0.20 + self.年宠技能*0.10+self.斗神之吼秘药*0.12))

        # 返回结果
        return self.数据返回(x, 技能释放次数, 技能总伤害)


class 苍暮·源能专家(角色窗口):
    def 窗口属性输入(self):
        self.初始属性 = 苍暮·源能专家角色属性()
        self.角色属性A = 苍暮·源能专家角色属性()
        self.角色属性B = 苍暮·源能专家角色属性()
        self.一觉序号 = 苍暮·源能专家一觉序号
        self.二觉序号 = 苍暮·源能专家二觉序号
        self.三觉序号 = 苍暮·源能专家三觉序号
        self.护石选项 = deepcopy(苍暮·源能专家护石选项)
        self.符文选项 = deepcopy(苍暮·源能专家符文选项)
        # QMessageBox.information(self, "提示",  "4.7日测试服数据，仅供参考")

    def 引力源光弹充能次数判断(self, 警告, 选项变更):
        引力源光弹次数 = 0
        超能爆发次数 = 0

        if '/CD' not in self.次数输入[self.角色属性A.技能序号['引力源光弹']].currentText():
            try:
                引力源光弹次数 = int(
                    self.次数输入[self.角色属性A.技能序号['引力源光弹']].currentText())
            except:
                引力源光弹次数 = 100
        else:
            引力源光弹次数 = 100
        if '/CD' not in self.次数输入[self.角色属性A.技能序号['CEAB-2超能爆发']].currentText():
            try:
                超能爆发次数 = int(
                    self.次数输入[self.角色属性A.技能序号['CEAB-2超能爆发']].currentText())
            except:
                超能爆发次数 = 100
        else:
            超能爆发次数 = 100

        sign = 0
        for x in range(3):
            if self.护石栏[x].currentText() == '引力源光弹' and 引力源光弹次数 != 0 and 超能爆发次数 != 0:
                sign = 1

        充能次数上限 = 1
        if 引力源光弹次数 != 0 and 超能爆发次数 != 0 and ('/CD' not in self.次数输入[self.角色属性A.技能序号['CEAB-2超能爆发']].currentText() or '/CD' not in self.次数输入[self.角色属性A.技能序号['引力源光弹']].currentText()):
            if 超能爆发次数 >= 引力源光弹次数:
                充能次数上限 = 引力源光弹次数
            else:
                充能次数上限 = 超能爆发次数
            # self.引力源光弹护石选项.setCurrentIndex(充能次数上限)
        if self.引力源光弹护石选项.currentIndex() > 充能次数上限 and sign == 1 and ('/CD' not in self.次数输入[self.角色属性A.技能序号['引力源光弹']].currentText() or '/CD' not in self.次数输入[self.角色属性A.技能序号['CEAB-2超能爆发']].currentText()) and 警告 == 0:
            self.引力源光弹护石选项.setCurrentIndex(充能次数上限)
            if 选项变更 == 0:
                QMessageBox.information(self, "错误",  "输入的充能次数超过上限，已自动修正")
            警告 = 1
        elif self.引力源光弹护石选项.currentIndex() < 充能次数上限 and sign == 1 and ('/CD' not in self.次数输入[self.角色属性A.技能序号['引力源光弹']].currentText() or '/CD' not in self.次数输入[self.角色属性A.技能序号['CEAB-2超能爆发']].currentText()) and 选项变更 == 1:
            self.引力源光弹护石选项.setCurrentIndex(充能次数上限)
            选项变更 = 0
        elif '/CD' in self.次数输入[self.角色属性A.技能序号['引力源光弹']].currentText() and '/CD' in self.次数输入[self.角色属性A.技能序号['CEAB-2超能爆发']].currentText() and 选项变更 == 1:
            self.引力源光弹护石选项.setCurrentIndex(1)

        if sign == 0:
            self.引力源光弹护石选项.setEnabled(False)
            self.引力源光弹护石选项.setStyleSheet(下拉框样式)
            self.引力源光弹护石选项.setCurrentIndex(0)
        else:
            self.引力源光弹护石选项.setEnabled(True)
            self.引力源光弹护石选项.setStyleSheet(下拉框样式)
    flag1 = 0
    flag2 = 0
    flag3 = 0

    def 能量禁锢爆炸次数判断(self, 警告):
        能量禁锢次数 = 0
        能量飞鱼弹次数 = 0
        源能护盾次数 = 0

        if '/CD' not in self.次数输入[self.角色属性A.技能序号['能量禁锢']].currentText():
            try:
                能量禁锢次数 = int(self.次数输入[self.角色属性A.技能序号['能量禁锢']].currentText())
            except:
                能量禁锢次数 = 1
        else:
            能量禁锢次数 = 1
        if '/CD' not in self.次数输入[self.角色属性A.技能序号['能量飞鱼弹']].currentText():
            try:
                能量飞鱼弹次数 = int(
                    self.次数输入[self.角色属性A.技能序号['能量飞鱼弹']].currentText())

            except:
                能量飞鱼弹次数 = 2
        else:
            能量飞鱼弹次数 = 2
        if '/CD' not in self.次数输入[self.角色属性A.技能序号['源能护盾']].currentText():
            try:
                源能护盾次数 = int(self.次数输入[self.角色属性A.技能序号['源能护盾']].currentText())
            except:
                源能护盾次数 = 2
        else:
            源能护盾次数 = 2

        sign2 = 0
        for x in range(3):
            if self.护石栏[x].currentText() == '能量禁锢' and 能量禁锢次数 != 0 and (能量飞鱼弹次数+源能护盾次数) != 0:
                sign2 = 1

        护石 = []
        for i in range(3):
            护石.append(self.护石栏[i].currentText())
        if "能量禁锢" in 护石:
            self.flag1 = 1
        elif "能量禁锢" not in 护石:
            self.flag1 = 0
        if self.flag1 == 1 and self.flag2 == 0:
            self.flag2 = 1
            self.flag3 = 1
        elif self.flag1 == 1 and self.flag2 == 1:
            self.flag3 = 0
        if self.flag1 == 0 and self.flag2 == 1:
            self.flag2 = 0
        if self.flag3 == 1:
            警告 = False
        护石 = []

        if 能量禁锢次数 != 0:
            if 能量禁锢次数 == 1:
                if(能量飞鱼弹次数+源能护盾次数) >= 2:
                    self.能量禁锢护石选项.setCurrentIndex(2)
                else:
                    self.能量禁锢护石选项.setCurrentIndex(能量飞鱼弹次数+源能护盾次数)
            else:
                self.能量禁锢护石选项.setCurrentIndex(2)
        else:
            self.能量禁锢护石选项.setCurrentIndex(0)
        if (能量飞鱼弹次数+源能护盾次数) < (能量禁锢次数*2) and sign2 == 1 and 警告 == False and ('/CD' not in self.次数输入[self.角色属性A.技能序号['源能护盾']].currentText() and '/CD' not in self.次数输入[self.角色属性A.技能序号['能量飞鱼弹']].currentText()):
            QMessageBox.information(
                self, "错误",  "能量飞鱼弹与源能护盾次数不足以为能量禁锢提供"+str(能量禁锢次数*2)+"次爆炸，建议修改技能及爆炸次数，若不修改则按输入的数值计算")
            警告 = True

        if sign2 == 0:
            self.能量禁锢护石选项.setEnabled(False)
            self.能量禁锢护石选项.setStyleSheet(下拉框样式)
            self.能量禁锢护石选项.setCurrentIndex(0)
        else:
            self.能量禁锢护石选项.setEnabled(True)
            self.能量禁锢护石选项.setStyleSheet(下拉框样式)

    def 界面(self):
        super().界面()

        self.引力源光弹护石选项 = MyQComboBox(self.main_frame2)
        for i in range(100):
            self.引力源光弹护石选项.addItem('引力源光弹充能次数：'+str(i))
        self.引力源光弹护石选项.resize(160, 20)
        self.引力源光弹护石选项.move(300, 480)
        self.引力源光弹护石选项.setCurrentIndex(1)
        self.引力源光弹护石选项.setToolTip(
            '修改对CEAB-2进行充能的次数，每次CEAB-2上限一次，受宠物技能影响。仅佩戴引力源光弹护石时生效')

        for i in range(3):
            self.护石栏[i].currentIndexChanged.connect(
                lambda state: self.引力源光弹充能次数判断(警告=1, 选项变更=1))
        self.次数输入[self.角色属性A.技能序号['引力源光弹']].currentIndexChanged.connect(
            lambda state: self.引力源光弹充能次数判断(警告=0, 选项变更=1))
        self.次数输入[self.角色属性A.技能序号['CEAB-2超能爆发']
                  ].currentIndexChanged.connect(lambda state: self.引力源光弹充能次数判断(警告=0, 选项变更=1))
        self.引力源光弹护石选项.currentIndexChanged.connect(
            lambda state: self.引力源光弹充能次数判断(警告=0, 选项变更=0))

        self.能量禁锢护石选项 = MyQComboBox(self.main_frame2)
        self.能量禁锢护石选项.addItem('能量禁锢爆炸次数：0')
        self.能量禁锢护石选项.addItem('能量禁锢爆炸次数：1')
        self.能量禁锢护石选项.addItem('能量禁锢爆炸次数：2')
        self.能量禁锢护石选项.resize(160, 20)
        self.能量禁锢护石选项.move(300, 390)
        self.能量禁锢护石选项.setCurrentIndex(2)
        self.能量禁锢护石选项.setToolTip('修改每次能量禁锢爆炸次数，与源能护盾、能量飞鱼弹释放次数关联，仅佩戴能量禁锢护石时生效')
        # bldic = {True:1,False:0}
        for i in range(3):
            self.护石栏[i].currentIndexChanged.connect(
                lambda state: self.能量禁锢爆炸次数判断(警告=True))

        self.次数输入[self.角色属性A.技能序号['能量禁锢']].currentIndexChanged.connect(
            lambda state: self.能量禁锢爆炸次数判断(警告=False))
        self.次数输入[self.角色属性A.技能序号['能量飞鱼弹']].currentIndexChanged.connect(
            lambda state: self.能量禁锢爆炸次数判断(警告=False))
        self.次数输入[self.角色属性A.技能序号['源能护盾']].currentIndexChanged.connect(
            lambda state: self.能量禁锢爆炸次数判断(警告=False))

        # 临界源能弹蓄力判断

        self.临界源能弹蓄力选项 = QCheckBox('临界源能弹蓄力释放', self.main_frame2)
        self.临界源能弹蓄力选项.resize(160, 20)
        self.临界源能弹蓄力选项.move(320, 540)
        self.临界源能弹蓄力选项.setStyleSheet(复选框样式)
        self.临界源能弹蓄力选项.setToolTip('蓄力释放临界源能弹')
        self.临界源能弹蓄力选项.setChecked(True)

        self.二觉hit选项 = MyQComboBox(self.main_frame2)
        for i in range(6, 15):
            self.二觉hit选项.addItem('终焉:超世界崩坏多段次数:' + str(i))
        self.二觉hit选项.setCurrentIndex(0)
        self.二觉hit选项.resize(160, 20)
        self.二觉hit选项.move(300, 510)
        self.二觉hit选项.setToolTip('秒C6+1,打满14+1')

        self.职业存档.append(('引力源光弹护石选项', self.引力源光弹护石选项, 1))
        self.职业存档.append(('能量禁锢护石选项', self.能量禁锢护石选项, 1))
        self.职业存档.append(('临界源能弹蓄力选项', self.临界源能弹蓄力选项, 0))
        self.职业存档.append(('二觉hit选项', self.二觉hit选项, 1))


    def 输入属性(self, 属性, x=0):
        super().输入属性(属性, x)

        属性.引力源光弹充能次数 = self.引力源光弹护石选项.currentIndex()
        # 属性.技能栏[属性.技能序号['能量禁锢']].爆炸次数 = self.能量禁锢护石选项.currentIndex()
        属性.能量禁锢爆炸次数 = self.能量禁锢护石选项.currentIndex()
        属性.二觉多段次数 = self.二觉hit选项.currentIndex() +6

        if self.临界源能弹蓄力选项.isChecked():
            属性.技能栏[属性.技能序号['临界源能弹']].攻击次数 = 0
            属性.技能栏[属性.技能序号['临界源能弹']].攻击次数2 = 1
